/* 全局注册组件 */

import Vue from "vue";
import {
  Button,
  Grid,
  GridItem,
  Collapse,
  Search,
  CollapseItem,
  Tab,
  Tabs,
  Loading,
  Lazyload,
  Image,
  Swipe,
  SwipeItem,
  Cell,
  CellGroup,
  Row,
  Col,
  Field,
  List,
  Panel,
  Checkbox,
  CheckboxGroup,
  Notify,
  Icon,
  Dialog,
  Popup,
  ActionSheet
} from "vant";
const components = [
  Button,
  Loading,
  Lazyload,
  Swipe,
  SwipeItem,
  Cell,
  Search,
  CellGroup,
  Collapse,
  CollapseItem,
  Row,
  Col,
  Field,
  List,
  Panel,
  Checkbox,
  CheckboxGroup,
  Notify,
  Tab,
  Tabs,
  Icon,
  Image,
  Grid,
  GridItem,
  Dialog,
  Popup,
  ActionSheet
];
const installComponents = (Vue, opts = {}) => {
  /* istanbul ignore if */
  components.map(item => {
    Vue.use(item);
  });
};

Date.prototype.format = function(fmt) {
  var o = {
    "M+": this.getMonth() + 1, // 月份
    "d+": this.getDate(), // 日
    "h+": this.getHours(), // 小时
    "m+": this.getMinutes(), // 分
    "s+": this.getSeconds(), // 秒
    "q+": Math.floor((this.getMonth() + 3) / 3), // 季度
    S: this.getMilliseconds() // 毫秒
  };
  if (/(y+)/.test(fmt))
    fmt = fmt.replace(
      RegExp.$1,
      (this.getFullYear() + "").substr(4 - RegExp.$1.length)
    );
  for (var k in o) {
    if (new RegExp("(" + k + ")").test(fmt))
      fmt = fmt.replace(
        RegExp.$1,
        RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)
      );
  }
  return fmt;
};

export const setVant = () => {
  if (typeof window !== "undefined") {
    installComponents(Vue);
  }
};
